package com.its.dao;

import java.util.HashMap;
import java.util.List;

import org.springframework.dao.DataAccessException;

import com.its.model.Model;

public interface ModelDao <M extends Model>{
	/**
	 * 获取数据总条数
	 * @param args
	 * @return 总条数
	 */
	int total(HashMap<String, Object> args);
	
	/**
	 * 获取所有数据
	 * @param args
	 * @return 由实例对象组成的数据集合
	 */
	List<M> list(HashMap<String, Object> args);
	
	/**
	 * 获取相应id的单条数据
	 * @param id
	 * @return
	 */
	M get(int id);
	
	/**
	 * 添加数据
	 * @param model
	 * @return
	 * @throws DataAccessException
	 */
	int add(M model) throws DataAccessException;
	
	/**
	 * 编辑更新数据
	 * @param model
	 * @return
	 */
	int update(M model);
	
	/**
	 * 删除数据
	 * @param id
	 * @return
	 */
	int remove(int id);
	
}
